home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2001 September / PC-WELT 9-2001.ISO / software / hw / brennen / flask_src.exe / Language.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-05-14  |  7.7 KB  |  227 lines

  1. /* 
  2.  *  language.h
  3.  *
  4.  *    Copyright (C) Alberto Vigata - January 2000 - ultraflask@yahoo.com
  5.  *
  6.  *  This file is part of FlasKMPEG, a free MPEG to MPEG/AVI converter
  7.  *    
  8.  *  FlasKMPEG is free software; you can redistribute it and/or modify
  9.  *  it under the terms of the GNU General Public License as published by
  10.  *  the Free Software Foundation; either version 2, or (at your option)
  11.  *  any later version.
  12.  *   
  13.  *  FlasKMPEG is distributed in the hope that it will be useful,
  14.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.  *  GNU General Public License for more details.
  17.  *   
  18.  *  You should have received a copy of the GNU General Public License
  19.  *  along with GNU Make; see the file COPYING.  If not, write to
  20.  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 
  21.  *
  22.  */
  23.  
  24. #if !defined(AFX_LANGUAGE_H__205B0701_EB94_11D3_816D_00000100CF13__INCLUDED_)
  25. #define AFX_LANGUAGE_H__205B0701_EB94_11D3_816D_00000100CF13__INCLUDED_
  26.  
  27. #if _MSC_VER > 1000
  28. #pragma once
  29. #endif // _MSC_VER > 1000
  30.  
  31. #include <stdio.h>
  32. #define MAX_LANGUAGES 32
  33. #define MAX_STRINGS   4096
  34. #define GS(x) ( strcmp(rs.lng->GetString(x),"") ? rs.lng->GetString(x) : NULL )
  35. ///////////////////////////////////////////////////////////////////////
  36. //   LANGUAGE DEFAULTS
  37. ///////////////////////////////////////////////////////////////////////
  38.  
  39. #define APPTITLE        3
  40. #define MENU_FILE       100
  41.     #define MENU_OPEN              101
  42.     #define MENU_OPENDVDFILE       103
  43.     #define MENU_EXIT              102
  44. #define MENU_OPTIONS    110
  45.     #define MENU_OUTPUTFORMAT       111
  46.     #define MENU_OUTOPTIONS         112
  47.     #define MENU_SELECTOUT          113
  48.     #define MENU_LANGUAGE           114
  49.  
  50. #define MENU_RUN  120
  51.     #define MENU_PLAYER       121
  52.     #define MENU_STARTCONV    122
  53.  
  54. #define MENU_ABOUT        123
  55. // OPTIONS
  56. #define OPT_OK           200
  57. #define OPT_CANCEL       201
  58. #define OPT_SHOWPAD      202
  59. #define OPT_SHOWPAD_EXP  199
  60. #define OPT_TITLE        203
  61. #define OPT_VIDEO        204
  62. #define OPT_AUDIO        205
  63. #define OPT_PPOST        206
  64. #define OPT_FILES        207
  65. #define OPT_GENERAL      208
  66.  
  67. #define OPT_FRAMESIZE      209
  68. #define OPT_WIDTH          210
  69. #define OPT_HEIGHT         211
  70. #define OPT_FRAMESIZE_EXP  212
  71. #define OPT_OUTPAD_EXP     213
  72.  
  73. #define OPT_TIMEBASE       214
  74. #define OPT_TIMEBASE_EXP   215
  75.  
  76. #define OPT_IDCT_TITLE     216
  77. #define OPT_IDCT_EXP       217
  78. #define OPT_IDCT_MMX       218
  79. #define OPT_IDCT_NONMMX    219
  80. #define OPT_IDCT_REF       220
  81.  
  82. #define OPT_VIDEO_NOTE     221
  83.  
  84. //AUDIO
  85. #define OPT_AUDIO_AUDIOMODE_EXP 240
  86. #define OPT_AUDIO_AUDIOMODE     241
  87. #define OPT_AUDIO_DSC           242
  88. #define OPT_AUDIO_DOAUDIO       243
  89. #define OPT_AUDIO_NOAUDIO       244
  90. #define OPT_AUDIO_DSC_EXP       245
  91. #define OPT_AUDIO_DOAUDIO_EXP   246
  92. #define OPT_AUDIO_NOAUDIO_EXP   247
  93. #define OPT_AUDIO_SAMPLING_EXP  248
  94.  
  95. #define OPT_AUDIO_SAMPLING_TITLE 250
  96. #define OPT_AUDIO_SAMPLING_SAMEASINPUT 251
  97. #define OPT_AUDIO_SAMPLING_SAMEASINPUT_EXP 252
  98. #define OPT_AUDIO_TAB 253
  99.  
  100. // OUTPUT PAD
  101. #define OUTPUT_PAD_TITLE        300
  102. #define OUTPUT_PAD_HIDE         301
  103. #define OUTPUT_PAD_OUTPUTSIZE   302
  104. #define OUTPUT_PAD_RESET        303
  105. #define OUTPUT_PAD_CROP         304
  106. #define OUTPUT_PAD_LETTERBOX    305
  107.  
  108. // ABOUT
  109. #define ABOUT_TITLE                310
  110.  
  111. // GENERAL STRINGS
  112. #define WARN_OVERWRITE          400
  113. #define WARNING                 401
  114.   // FILE STREAM SELECTOR
  115. #define FST_TITLE               402
  116. #define FST_LATERAL             403
  117. #define FST_BUTTON              404
  118. #define FST_VIDEOFOUND          405
  119. #define FST_AUDIOFOUND          406
  120. #define FST_AUDIOTRACK          407
  121. #define FST_MAINTRACK           408
  122. #define FST_VIDEOTRACK          409
  123.  
  124.  
  125.    // ERRORs
  126. #define SIZE_OOR                    410
  127. #define SIZE_NOT16                    411
  128. #define    TIME_IS_NOT_POSITIVE        412
  129. #define    TC_LARGER_THAN_HEIGHT        413
  130. #define    BC_LARGER_THAN_HEIGHT        414
  131. #define INCORRECT_SETTING           415
  132. #define UNS_FILE_OPEN               416
  133. #define NO_VIDEO_TRACK              417
  134. #define ERROR_PLUGIN                418
  135. #define IFO_PARSING_ERROR           419
  136.  
  137.   // DVD STREAM SELECTOR
  138. #define DVS_TITLE               420
  139. #define DVS_LATERAL             421
  140. #define DVS_BUTTON              422
  141. #define DVS_PGCSFOUND           423
  142. #define DVS_AUDIOFOUND          424
  143. #define DVS_DURATION            425
  144. #define DVS_SUBPICFOUND         426
  145. #define DVS_ANGLE               427
  146.  
  147. #ifdef LANGUAGE_MODULE
  148.     char *ds[MAX_STRINGS];
  149.  
  150.     void LoadDefaultStrings()
  151.     {
  152.         int i;
  153.         for(i=0; i<MAX_STRINGS; i++)
  154.             ds[i]=NULL;
  155.  
  156.         ds[APPTITLE]                 = "FlasK MPEG";
  157.         ds[MENU_FILE]                = "&File";
  158.             ds[MENU_OPEN]            = "&Open File";
  159.             ds[MENU_OPENDVDFILE]     = "Open &DVD File";
  160.             ds[MENU_EXIT]            = "&Exit";
  161.         ds[MENU_OPTIONS]             = "&Options";
  162.             ds[MENU_OUTPUTFORMAT]    = "&Output Format Options";
  163.             ds[MENU_OUTOPTIONS]      = "&Global Project Options (Export Movie Settings)";
  164.             ds[MENU_SELECTOUT]       = "&Select Output Format";
  165.         ds[MENU_RUN]                 = "&Run";
  166.             ds[MENU_PLAYER]          = "&Player";
  167.             ds[MENU_STARTCONV]       = "&Start Conversion";
  168.         ds[MENU_ABOUT]               = "&About";
  169.  
  170.         ds[WARN_OVERWRITE]           = "An output file is going to be overwritten. Should I continue?";
  171.         ds[WARNING]                  = "FlasKMPEG Warning";
  172.  
  173.         ds[FST_TITLE]                = "FlasKMPEG Stream Selector";
  174.         ds[FST_LATERAL]              = "One or more audio or video tracks were found in the input file. Select the desired ones";
  175.         ds[FST_BUTTON]                = "FlasK it!";
  176.         ds[FST_VIDEOFOUND]                = "Video Streams found";
  177.         ds[FST_AUDIOFOUND]                = "Audio Streams found";
  178.         ds[FST_AUDIOTRACK]                = "audio track";
  179.         ds[FST_MAINTRACK]                 = "inside main track";
  180.         ds[FST_VIDEOTRACK]                = "video track";
  181.  
  182.         ds[DVS_TITLE]                = "FlasKMPEG DVD Selector";
  183.         ds[DVS_LATERAL]              = "Select DVD titles, audio tracks and subtitles.\n\n If you don't want subtitles, deselect all of them";
  184.         ds[DVS_BUTTON]                = "FlasK this DVD!";
  185.         ds[DVS_PGCSFOUND]                = "DVD titles";
  186.         ds[DVS_AUDIOFOUND]                = "DVD Audio tracks";
  187.         ds[DVS_DURATION]                = "Duration";
  188.         ds[DVS_SUBPICFOUND]             = "DVD subtitles";
  189.         ds[DVS_ANGLE]                = "angle";
  190.  
  191. ds[SIZE_OOR]                = "Size is out of range. Try another value",
  192. ds[SIZE_NOT16]                = "The number is not divisible by 16",
  193. ds[TIME_IS_NOT_POSITIVE]    = "The Time you entered is invalid",
  194. ds[TC_LARGER_THAN_HEIGHT]    = "Top crop is larger than image height",
  195. ds[BC_LARGER_THAN_HEIGHT]    = "Bottop crop is larger than image height",
  196. ds[INCORRECT_SETTING]        = "This setting is invalid. Read the docs for correct settings",
  197. ds[UNS_FILE_OPEN]            = "An error ocurred when opening the file",
  198. ds[NO_VIDEO_TRACK]            = "No video track was found in the input file. At least one video track is mandatory.";
  199. ds[ERROR_PLUGIN]            = "There was a problem loading the plugins.\nNo output plugins were found. Please, check the installation\n and read the manual\n\n   Program will exit";
  200. ds[IFO_PARSING_ERROR]        = "There was a problem while parsing the IFO file. \nRead the documentation for its posible causes.";
  201.  
  202. // Options
  203.         
  204.     }
  205. #endif
  206.  
  207. class CLanguage  
  208. {
  209. public:
  210.     int ReadLanguage(int language);
  211.     char * GetString(int str_id);
  212.     int SetLanguage( int n_lang );
  213.     int GetLanguage();
  214.     char * GetLanguageID();
  215.     int GetNumberLang();
  216.     int Start();
  217.     CLanguage();
  218.     virtual ~CLanguage();
  219.  
  220. private:
  221.     int  selected_language;
  222.     int  n_lang;
  223.     int GetStrings( FILE *file);
  224. };
  225.  
  226. #endif // !defined(AFX_LANGUAGE_H__205B0701_EB94_11D3_816D_00000100CF13__INCLUDED_)
  227.